#ifndef PONG_CONFIG_H
#define PONG_CONFIG_H

#include <OgreConfigFile.h>
#include <OgreRenderSystem.h>
#include <OgreRoot.h>


namespace pong {
	class Configuration {
		protected:
			Ogre::String configFolder;

			Ogre::Root* ogreRoot; //A pointer to the root so we can configure it from here

			//Video settings will be stored here
			Ogre::ConfigFile::SettingsMultiMap videoSettings;

			//Just picks the first RenderSystem returned by getAvailableRenderers()
			inline Ogre::RenderSystem* defaultRenderer(void) {
				return *(ogreRoot->getAvailableRenderers().begin());
			}

		public:
			Configuration(const Ogre::String&, Ogre::Root* const);

			void applyVideoSettings(void) {
				/*Ogre::RenderSystem* renderer = ogreRoot->getRenderSystem();

				//Roll through the settings map, setting EVERYTHING
				const Ogre::ConfigFile::SettingsMultiMap::const_iterator end(videoSettings.end());
				for (Ogre::ConfigFile::SettingsMultiMap::const_iterator itr(videoSettings.begin()); itr != end; ++itr) {
					renderer->setConfigOption((*itr).first, (*itr).second);
				}*/
			}
	};
}
#endif
